文章目录
应用层协议
在传输层之上,便是应用层。传输层的UDP报文和TCP报文段的数据部分就是应用层交付的数据。
不同类型的网络应用有不同的通信规则,因此应用层协议都是多种多样的,比如DNS、FTP、Telent、SMTP、HTTP、RIP、NFS等协议都是用于解决其各自的一类问题。
一、DNS协议
DNS(域名服务)协议基于UDP,使用端口号53.
由数字组成的IP地址很难记忆,所以我们上网使用网站IP地址的别名——域名。实际使用中,域名与IP地址是对应的,这种对应关系保存在DNS服务器之中。
在浏览器中输入一个域名后,会有DNS服务器将域名解析为对应的IP地址。注意这和网络层的ARP协议的不同之处:DNS提供的是域名与IP地址的对应关系,而ARP提供的是IP地址与MAC地址的对应关系。
1.1 DNS服务器
DNS服务器是个分层次的系统:
- 根DNS服务器:全世界共有13台根域名服务器,编号A到M,其中大部分位于美国;
- 顶级(TLD)DNS服务器:负责如com、org、edu等顶级域名和所有国家顶级域名(如cn、uk、jp)。
- 权威DNS服务器:大型组织、大学、企业的域名解析服务;
- 本地DNS服务器:通常与我们主机最近的DNS服务器。
而域名解析的过程,有迭代查询和递归查询两种方式:
1.2 host命令
在Linux系统中,可以使用host命令进行DNS查询,查看一个指定域名的IP,比如要查询baidu.com
的IP地址:
host www.baidu.com
1.3 DNS报文
主机向DNS服务器发出的查询叫做DNS报文,问答报文的内容,都是IP和域名的对应信息,问题中包含域名、类型、类信息,回答中包含指针,类型,类,TTL,长